home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Multimedia Plus
/
Multimedia Plus with ClearVue Version 10-94 (Knowledge Media Inc.).ISO
/
dos
/
anim
/
flilib
/
flisrc
/
copystru.asm
< prev
next >
Wrap
Assembly Source File
|
1989-12-17
|
935b
|
52 lines
;copystru.asm - contains i86_even_copy.
_TEXT SEGMENT BYTE PUBLIC 'CODE'
_TEXT ENDS
_DATA SEGMENT WORD PUBLIC 'DATA'
_DATA ENDS
CONST SEGMENT WORD PUBLIC 'CONST'
CONST ENDS
_BSS SEGMENT WORD PUBLIC 'BSS'
_BSS ENDS
DGROUP GROUP CONST, _BSS, _DATA
ASSUME CS: _TEXT, DS: DGROUP, SS: DGROUP, ES: DGROUP
_TEXT SEGMENT
;i86_even_copy(source, dest, count)
;Copy count bytes from source to dest. Count must be even as copy is
;done 16 bits at a time. Zero counts will trash memory.
PUBLIC _i86_even_copy
;copy
_i86_even_copy PROC far
push bp
mov bp,sp
push di
push ds
push es
push si
push cx
mov ax,[bp+6+2] ;s seg
mov ds,ax
mov si,[bp+4+2] ;s offset
mov ax,[bp+10+2] ;d seg
mov es,ax
mov di,[bp+8+2] ;d offset
mov cx,[bp+12+2] ;count
shr cx,1
cld
rep movsw
pop cx
pop si
pop es
pop ds
pop di
pop bp
ret
_i86_even_copy ENDP
_TEXT ENDS
END